Due to the ever-increasing popularity and accessibility of the Internet as a medium of communication, the number of business transactions conducted using the Internet is also increasing, as is the numbers of buyers and sellers participating in electronic marketplaces providing a forum for these transactions. In addition, the number of potential buyers looking for information regarding different products and services and the number of Internet users merely seeking information for various products is also increasing. Before buyers become ready to begin a business transaction, most buyers desire to learn more about the products they are interested in and therefore seek ways to gather information and details regarding the products. Accessing the necessary product information can be a frustrating and time-consuming ordeal for popular products sought by many different buyers and users and in times of the day having high traffic for the Internet when bandwidth becomes taxed. Often when a user cannot access the desired product information, the user will become frustrated, give up, no longer seek the product information, and perhaps decide not to purchase any products since no information can be obtained about the products. If the user does not give up, then locating the desired product information may take longer than necessary and result in an inefficient process where the user spends too much time and money searching for product information.
According to the present invention, disadvantages and problems associated with previous e-commerce techniques have been substantially reduced or eliminated.
In one embodiment of the present invention, one or more product databases store product data for a plurality of products. The system also includes a global content directory that includes a plurality of product classes organized in a hierarchy. Each product class categorizes a number of products and is associated with one or more attributes of the products categorized in the product class. At least one of the product classes has one or more associated pointers that identify the product databases. The system further includes a search interface that communicates a search query to the product databases to search the product data stored in the product databases identified by one of the pointers. The system also includes a traffic module that monitors the traffic levels associated with each of the product classes and dynamically balances searches of the product databases based on the traffic levels.
Particular embodiments of the present invention may provide one or more technical advantages. For example, certain embodiments of the present invention provide one or more product databases with each product database storing the same product data. The use of one or more product databases storing the same product data increases the speed of data retrieval and prevents bottle-necks at the product databases experiencing high bandwidth traffic. The pointers associated with the product classes identify which product databases are searched to locate the desired product data. Because the product databases contain the same product data, the pointers may be rearranged when a particular product class experiences heavy traffic so that the bandwidth traffic for the product class is spread across more than one product database. Therefore, rearranging the associated pointers identifying the product data to more than one product database eliminates a bottle-neck at the product database associated with the product classes experiencing high bandwidth traffic. In addition, the speed of retrieval for product data increases because the product data is more localized in the product databases. Associated pointers for the product classes identify particular product data within the product databases. Each product database only provides a certain kind of product data instead of each product database providing all the product data to the product classes and users of the e-commerce transaction system. Therefore, the accessible product data is not spread out across all the product databases. The localized product data allows for product data used and reused to be stored in volatile memory, such as cache memory, which allows for quicker access and the increase in the speed for product data retrieval.
Furthermore, particular embodiments of the present invention also allow for the dynamic balancing of the load across the product databases without using predictive algorithms thereby allowing load rebalancing that is on target and more responsive to current situations. The load across the product databases is balanced using the actual current traffic levels in the product classes instead of traffic value estimates derived from estimating or guessing as to what the traffic levels will be based on a set of given parameters. No time or money is expended in faulty load predictions and because the load on the product databases is calculated throughout the day using actual current traffic levels, response to any bottle-necks that develop may be made immediately and therefore result in no slowdown of the e-commerce transaction system. Other technical advantages may be readily apparent to those skilled in the art from the figures, description, and claims included herein.